package edu.hgnu.provider;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import edu.hgnu.utils.RabbitMQUtils;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.concurrent.TimeoutException;

public class Provider {
    public static void main(String[] args) throws Exception {
        for (int i=0;i<=50;i++){
            createMsg(i);
            Thread.sleep(5000);
        }
    }

    private static void createMsg(int id) throws Exception {
        //获取连接对象
        Connection connection = RabbitMQUtils.getConnection();
        //获取连接中信道
        Channel channel = connection.createChannel();
        /**
         * queue:队列queue，
         * durable:是否持久化队列，false不持久化
         * b1:是否独占队列，true--是，false--否
         * b2:是否消费完毕自动删除队列，true--自动删除
         * map:额外附加参数
         */
        channel.queueDeclare("firstQueue",false,false,false,null);
        /**
         * 发布消息
         * 交换机名(不填，默认交换机)；队列名；传递消息额外设置；消息具体内容；
         */
        //发布一个长文本消息；
        String message=id+"==难道我们现在指望的是，房价很低，然后工作到处随便找，" +
                "然后一点压力都没有，然后只要喜欢的女孩，跟她一追求就同意不会吧！\n" +
                "--------------白岩松";
        System.out.println("provider=="+message);
        channel.basicPublish("","firstQueue",null,message.getBytes(StandardCharsets.UTF_8));

        //关闭连接；
        //RabbitMQUtils.closeConnAndChanel(connection,channel);
    }
}
